iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 6
0

一直持續發布新版功能的next 不知不覺已經到9.x版了
這邊來介紹一下他新版個人常用的一些功能

1.typescript 環境自動生成的功能
之前的版本 要自己 import @zeit/next-typescript 還必須自定義其.babelrc,現在只要在目錄中有 tsx 檔案 ,就會自動產生 tsconfig.json 檔案 與相關設定 非常方便

2.Dynamic Route Segments
這個可以定義uri中的動態參數 在pages目錄底下可以設定 /pages/post/:pid

範例連結網之中打 /post/hello-nextjs pid就等於 hello-nextjs

static async getInitialProps({ query }) {
  // pid = 'hello-nextjs'
  const { pid } = query

  const postContent = await fetch(
    `https://api.example.com/post/${encodeURIComponent(pid)}`
  ).then(r => r.text())

  return { postContent }
}

也可以支援多網段寫法

./pages/blog/[blogId]/comments/[commentId].js
./pages/posts/[pid]/index.js

API Routes

在 pages目錄底下新增 api 就可以在程式碼直接打fetch 對應到這個目錄去要api callback 很方便
pages/api/

export default function handle(req, res) {
  res.end('Hello World')
}

prefetch 預設是打開 可以自動在背景加載 增加體驗速度,若不需要可以加上 false

<Link href="/terms" prefetch={false}>
  <a>Terms of Service</a>
</Link>

在程式碼開發中 ,如果存檔後 在前端畫面右下角會有個小三角形 , 讓開發者更容易知道hotreload 完成了沒有

https://ithelp.ithome.com.tw/upload/images/20200916/20103438ih2egzf21M.png

終端機訊息量與編排顯示調整, 變比較好閱

next build的時候 會告知哪個頁面size與相依package 占比影響效能

https://ithelp.ithome.com.tw/upload/images/20200916/20103438quzqoVCZTD.png

如果在編譯時,有優化部分也會顯示

https://ithelp.ithome.com.tw/upload/images/20200916/201034386wZV6gThzS.png

以上是個人常用到的 next 9.x 新功能


上一篇
線上娃娃機-前端功能介紹
下一篇
線上娃娃機-server machine setup
系列文
線上娃娃機-js開發篇11
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言